package DiffieHellman.TestSM2;

import org.bouncycastle.asn1.x9.X9ECParameters;
import org.bouncycastle.asn1.x9.X9ECParametersHolder;
import org.bouncycastle.asn1.x9.X9ECPoint;
import org.bouncycastle.crypto.ec.CustomNamedCurves;
import org.bouncycastle.math.ec.ECCurve;
import org.bouncycastle.math.ec.ECPoint;
import org.bouncycastle.math.ec.WNafUtil;
import org.bouncycastle.math.ec.custom.gm.SM2P256V1Curve;
import org.bouncycastle.util.encoders.Hex;

public class TestSM2 extends X9ECParametersHolder {
    @Override
    public X9ECParameters createParameters() {
        Object var1 = null;
        ECCurve var2 =  new TestSM2Curve();
        X9ECPoint var3 = new X9ECPoint(var2, Hex.decodeStrict("04421DEBD61B62EAB6746434EBC3CC315E32220B3BADD50BDC4C4E6C147FEDD43D0680512BCBB42C07D47349D2153B70C4E5D7FDFCBFA36EA1A85841B9E46E09A2"));
                                                             //0432C4AE2C1F1981195F9904466A39C9948FE30BBFF2660BE1715A4589334C74C7BC3736A2F4F6779C59BDCEE36B692153D0A9877CC62A474002DF32E52139F0A0
        X9ECParameters byName = CustomNamedCurves.getByName("");
        ECPoint var4 = var3.getPoint();
        WNafUtil.configureBasepoint(var4);
        return new X9ECParameters(var2, var3, var2.getOrder(), var2.getCofactor(), (byte[]) var1);
    }
}
